課程資訊
課程名稱
R語言與文字探勘:公共議題之應用
R Language and Text Mining: An Application of Public Issues? 
開課學期
111-1 
授課對象
社會科學院  公共事務研究所  
授課教師
王 貿 
課號
GIPA5011 
課程識別碼
343 U0200 
班次
 
學分
2.0 
全/半年
半年 
必/選修
選修 
上課時間
星期二6,7(13:20~15:10) 
上課地點
 
備註
上課教室為社科研607。
限本系所學生(含輔系、雙修生)
總人數上限:10人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

文字資料(text as data)是目前最多的一種資料儲存形式,以往受限於分析工具,較常是透過質性分析方式來詮釋、理解文字,但隨著電腦運算能力的大幅提升以及分析模型的演進,將文字資料進行模型運算已不再是遙不可及的想法。就公共議題的分析而言,文字探勘可以協助我們理解:不同傳播媒介對公共議題的報導取向與態度立場有何不同?不同時空環境下對公共議題的討論趨勢與解讀有何不同?公共政策有哪些不同的論述架構?不同利害關係人對政策論述是否有不同的偏好?但前提是,必須精熟一門可以處理文字資料的程式語言,以及理解各種文字分析模型的原理。本課程主要在介紹R語言以及文字探勘技術的操作演練,並與公共議題的分析結合,提供學生分析公共議題的另一種研究工具。

學習程式設計已不再是理科生的專利,隨著程式語言愈趨接近人用語言、應用面向逐漸擴及人文社會科學、線上學習資源的易得性等因素,都使得學習門檻越來越低。但作為一名人文社會科學的學生而言,如何挑選適合的程式語言及學習資源,反而會是邁開學習之路的第一個挑戰。R語言是由統計學家所創造,對沒有程式設計背景的學生而言,其動態語言與物件導向的性質,會讓編寫程式更容易上手。另外,R語言本身具有開放的技術支持社群、詳細的套件使用說明等優勢,都使得R語言相當適合作為人文社會科學學生的第一門程式語言課。

本課程講授R語言基礎,主要的內容包含R語言基本簡介、資料篩選與整理、資料探索與分析、程式設計基礎外,會從文字資料前處理(preprocessing)開始,也就是當拿到一份文字資料時,在分析前所必須要做的資料清理程序。此外,還包括基礎的斷詞、資料視覺化與爬蟲技術的介紹。奠定好這些基礎後,將正式進入文字探勘的世界,介紹各種常用的文字分析技術與模型,並讓同學能夠實際操作演練。當然,此次課程並無法全面地介紹R語言及其在文字探勘的各種應用,但希望透過對於R語言與文字探勘的基本認識,修課同學能夠將R語言作為後續執行各種研究分析的工具,或是進一步涉獵進階統計分析、機器學習、社會網絡分析、空間分析等領域。 

課程目標
1. 熟悉R語言基礎及運用其進行文字資料前處理。
2. 型塑研究問題,並挑選適切的文字資料與分析方法回答該問題。
3. 透過視覺化的方式呈現,有效地與人溝通研究成果。 
課程要求
1. 請自備筆電,並依照課程指示安裝R、RStudio及相關套件。
2. 作業請以R Markdown及html檔繳交。
3. 作業可與同學討論,但請各自撰寫,不得抄襲作業。
4. 將使用Piazza(https://piazza.com/)線上討論平臺。

本課程對學生課後學習之要求:
1. 將使用DataCamp for the Classroom (https://www.datacamp.com) 的功能,提供修課同學搭配本課程進度,完成相關之線上課程。
2. 每週上課之程式碼皆會提供修課學生,至下周上課前,請至少複習過程式碼一次。若有不清楚之處,可至線上討論。
3. 如果想先對R有瞭解的同學,可以先試codecademy平臺上的免費課程Learn R 
預期每週課後學習時數
2-8小時 
Office Hours
另約時間 備註: 請盡量透過課程線上系統詢問,若是比較複雜的問題,可於課後詢問授課教師與助教。 
指定閱讀
將於第一週上課時公布。 
參考書目
將於第一週上課時公布。 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
課堂作業 
60% 
作業共有6次,取5次最高分作業計算,每一作業各12分。程式碼可呈現題目所要求之結果即滿分。若可用較為簡要、清晰的程式碼完成,每次作業至多可再加2分。請於週次標示的下週上課前於COOL線上繳交。 
2. 
期末口頭報告 
10% 
各組人數1-3人。報告需有明確的研究問題、文字資料蒐集方式、分析方法、研究發現、研究結論與建議等部分。各組互評占5%,授課教師評分占5%。 
3. 
期末書面報告 
25% 
請以12號字撰寫,字數至少4,000字以上,並須包括上述口頭報告的各個部分及文獻探討。引註方式請採APA格式。期末報告請於1/3(二)中午前,以各組為單位上傳至COOL系統,遲交者不予計分。 
4. 
線上討論 
5% 
於課程之線上討論平臺Piazza具名提問或是回答他人提問,每次1分,5次以上則滿分。 
 
針對學生困難提供學生調整方式
 
上課形式
提供學生彈性出席課程方式
作業繳交方式
延長作業繳交期限
考試形式
其他
由師生雙方議定
課程進度
週次
日期
單元主題
第1週
9/6  課程概覽 
第2週
9/13  R語言基礎:簡介 
第3週
9/20  R語言基礎:資料篩選與整理 # 作業一 
第4週
9/27  R語言基礎:資料探索與分析 
第5週
10/4  R語言基礎:程式設計基礎 # 作業二 
第6週
10/11  文字資料前處理(regex, tm, stringr)  
第7週
10/18  文字資料前處理:斷詞(tidytext, jiebaR) # 作業三 
第8週
10/25  資料視覺化(ggplot2) 
第9週
11/1  爬蟲(web scraping) # 作業四 
第10週
11/8  詞袋(bag of words)模型 
第11週
11/15  期末報告主題說明(取消,校慶停課) 
第12週
11/22  情緒分析(sentiment analysis) # 作業五 
第13週
11/29  主題模型(topic models) 
第14週
12/6  自然語言處理(Natural Language Processing, NLP) # 作業六 
第15週
12/13  期末口頭報告。
詞嵌入(word embedding)模型取消 
第16週
12/20  期末口頭報告